Packagesora.graybox.util
Classpublic class MidiController
InheritanceMidiController Inheritance Object
Implements IGrayBoxModule

MidiControllerクラスはMIDIキーボードや MIDIコントローラーに相当する機能を提供するGrayBoxモジュールです.

他のモジュールへMIDIメッセージを送信するには次のメソッドを使用します。

これらのメソッドは指定したMIDIメッセージを 次回の音声処理実行タイミング(GrayBox.process()メソッド実行時)までバッファリングします。 バッファされたMIDIメッセージは、 次回の音声処理実行タイミングでMIDIイベントリスト(ProcessData.midiEventList)へ登録されます。

MIDIメッセージの仕様についてはMidiMessageクラスを参照してください。

See also

sora.graybox.GrayBox
sora.graybox.ProcessData
sora.graybox.MidiMessage
sora.graybox.MidiEvent


Public Properties
 PropertyDefined By
  midiOutPorts : int = 0xFFFF
MIDIメッセージの送信対象ポートを示すビットフラグ(16bit)です.
MidiController
Protected Properties
 PropertyDefined By
  _eventBuffer : Vector.<MidiEvent> = null
MidiController
  _eventBufferSize : int = 64
MidiController
  _usedEvents : int = 0
MidiController
Public Methods
 MethodDefined By
  
MidiController(eventBufferSize:int = 64)
MidiControllerオブジェクトを構築します.
MidiController
  
channelAfterTouch(ch:int, val:int, offsetFrames:int = 0):void
チャンネルアフタータッチメッセージをバッファします.
MidiController
  
イベントバッファをクリアします.
MidiController
  
MidiController
  
controlChange(ch:int, ccn:int, val:int, offsetFrames:int = 0):void
コントロールチェンジメッセージをバッファします.
MidiController
  
MidiController
  
イベントバッファのサイズを取得します.
MidiController
  
MidiController
  
keyAfterTouch(ch:int, key:int, val:int, offsetFrames:int = 0):void
キーアフタータッチメッセージをバッファします.
MidiController
  
midiMessage(type:int, ch:int = 0, val0:int = 0, val1:int = 0, data:ByteArray = null, offsetFrames:int = 0):void
MIDIメッセージをバッファします.
MidiController
  
midiMessage_P(portNum:int = 0xffff, type:int = 0x80, ch:int = 0, val0:int = 0, val1:int = 0, data:ByteArray = null, offsetFrames:int = 0):void
送信ポートを指定してMIDIメッセージをバッファします.
MidiController
  
noteOff(ch:int, key:int, offsetFrames:int = 0):void
ノートオフメッセージをバッファします.
MidiController
  
noteOn(ch:int, key:int, velo:int, offsetFrames:int = 0):void
ノートオンメッセージをバッファします.
MidiController
  
pitchBendChange(ch:int, lsb:int, msb:int, offsetFrames:int = 0):void
ピッチベンドチェンジメッセージをバッファします.
MidiController
  
pitchBendChangeW(ch:int, val:int, offsetFrames:int = 0):void
ピッチベンドチェンジメッセージをバッファします.
MidiController
  
process(procData:ProcessData):void
MidiController
  
programChange(ch:int, num:int, offsetFrames:int = 0):void
プログラムチェンジメッセージをバッファします.
MidiController
  
MidiController
  
MidiController
  
setEventBufferSize(size:int):int
イベントバッファのサイズを再設定します.
MidiController
  
MidiController
  
MidiController
  
MidiController
  
systemExclusive(msg:ByteArray, offsetFrames:int = 0):void
システムエクスクルーシブメッセージをバッファします.
MidiController
  
updateAudioChannels(ch:int):void
MidiController
  
updateBypassStatus(bypass:Boolean):void
MidiController
  
updateProcessBlockSize(size:int):void
MidiController
  
updateSampleRate(sampleRate:Number):void
MidiController
Property Detail
_eventBufferproperty
protected var _eventBuffer:Vector.<MidiEvent> = null

_eventBufferSizeproperty 
protected var _eventBufferSize:int = 64

_usedEventsproperty 
protected var _usedEvents:int = 0

midiOutPortsproperty 
public var midiOutPorts:int = 0xFFFF

MIDIメッセージの送信対象ポートを示すビットフラグ(16bit)です. 最下位ビットをポート1として16ポート分指定できます。 デフォルト値は0xFFFFで全ポートを対象としています。

The default value is 0xFFFF.

See also

Constructor Detail
MidiController()Constructor
public function MidiController(eventBufferSize:int = 64)

MidiControllerオブジェクトを構築します.

Parameters
eventBufferSize:int (default = 64)
Method Detail
channelAfterTouch()method
public function channelAfterTouch(ch:int, val:int, offsetFrames:int = 0):void

チャンネルアフタータッチメッセージをバッファします.

Parameters

ch:int — MIDIチャンネル(0~15)
 
val:int — プレッシャー値(0~127)
 
offsetFrames:int (default = 0)

clearMIDIEventBuffer()method 
public function clearMIDIEventBuffer():void

イベントバッファをクリアします.

connectModule()method 
public function connectModule(host:GrayBox):void

Parameters

host:GrayBox

controlChange()method 
public function controlChange(ch:int, ccn:int, val:int, offsetFrames:int = 0):void

コントロールチェンジメッセージをバッファします.

Parameters

ch:int — MIDIチャンネル(0~15)
 
ccn:int — コントロールナンバー(0~127)
 
val:int — コントロール値(0~127)
 
offsetFrames:int (default = 0)

disconnectModule()method 
public function disconnectModule():void

getEventBufferSize()method 
public function getEventBufferSize():int

イベントバッファのサイズを取得します.

Returns
int — バッファサイズ
initiModule()method 
public function initiModule():void

keyAfterTouch()method 
public function keyAfterTouch(ch:int, key:int, val:int, offsetFrames:int = 0):void

キーアフタータッチメッセージをバッファします.

Parameters

ch:int — MIDIチャンネル(0~15)
 
key:int — ノートナンバー(0~127)
 
val:int — プレッシャー値(0~127)
 
offsetFrames:int (default = 0)

midiMessage()method 
public function midiMessage(type:int, ch:int = 0, val0:int = 0, val1:int = 0, data:ByteArray = null, offsetFrames:int = 0):void

MIDIメッセージをバッファします.

Parameters

type:int — メッセージタイプ
 
ch:int (default = 0) — MIDIチャンネル(0~15)
 
val0:int (default = 0) — MIDIメッセージ第2バイト値
 
val1:int (default = 0) — MIDIメッセージ第3バイト値
 
data:ByteArray (default = null) — メッセージデータ
 
offsetFrames:int (default = 0)

midiMessage_P()method 
public function midiMessage_P(portNum:int = 0xffff, type:int = 0x80, ch:int = 0, val0:int = 0, val1:int = 0, data:ByteArray = null, offsetFrames:int = 0):void

送信ポートを指定してMIDIメッセージをバッファします.

Parameters

portNum:int (default = 0xffff) — 送信ポート
 
type:int (default = 0x80) — メッセージタイプ
 
ch:int (default = 0) — MIDIチャンネル(0~15)
 
val0:int (default = 0) — MIDIメッセージ第2バイト値
 
val1:int (default = 0) — MIDIメッセージ第3バイト値
 
data:ByteArray (default = null) — メッセージデータ
 
offsetFrames:int (default = 0)

noteOff()method 
public function noteOff(ch:int, key:int, offsetFrames:int = 0):void

ノートオフメッセージをバッファします.

Parameters

ch:int — MIDIチャンネル(0~15)
 
key:int — ノートナンバー(0~127)
 
offsetFrames:int (default = 0)

noteOn()method 
public function noteOn(ch:int, key:int, velo:int, offsetFrames:int = 0):void

ノートオンメッセージをバッファします.

Parameters

ch:int — MIDIチャンネル(0~15)
 
key:int — ノートナンバー(0~127)
 
velo:int — ベロシティ(0~127)
 
offsetFrames:int (default = 0)

pitchBendChange()method 
public function pitchBendChange(ch:int, lsb:int, msb:int, offsetFrames:int = 0):void

ピッチベンドチェンジメッセージをバッファします.

Parameters

ch:int — MIDIチャンネル(0~15)
 
lsb:int — 下位7bitピッチベンド値(0~127)
 
msb:int — 上位7bitピッチベンド値(0~127)
 
offsetFrames:int (default = 0)

pitchBendChangeW()method 
public function pitchBendChangeW(ch:int, val:int, offsetFrames:int = 0):void

ピッチベンドチェンジメッセージをバッファします.

Parameters

ch:int — MIDIチャンネル(0~15)
 
val:int — ピッチベンド値(0~16383)
 
offsetFrames:int (default = 0)

process()method 
public function process(procData:ProcessData):void

Parameters

procData:ProcessData

programChange()method 
public function programChange(ch:int, num:int, offsetFrames:int = 0):void

プログラムチェンジメッセージをバッファします.

Parameters

ch:int — MIDIチャンネル(0~15)
 
num:int — プログラムナンバー(0~127)
 
offsetFrames:int (default = 0)

resetModule()method 
public function resetModule():void

resumeProcess()method 
public function resumeProcess():void

setEventBufferSize()method 
public function setEventBufferSize(size:int):int

イベントバッファのサイズを再設定します.

Parameters

size:int — バッファサイズ(16~無制限)

Returns
int — バッファサイズ
startProcess()method 
public function startProcess():void

stopProcess()method 
public function stopProcess():void

suspendProcess()method 
public function suspendProcess():void

systemExclusive()method 
public function systemExclusive(msg:ByteArray, offsetFrames:int = 0):void

システムエクスクルーシブメッセージをバッファします.

Parameters

msg:ByteArray — システムエクスクルーシブメッセージデータ(EOX(F7)含む)
 
offsetFrames:int (default = 0)

updateAudioChannels()method 
public function updateAudioChannels(ch:int):void

Parameters

ch:int

updateBypassStatus()method 
public function updateBypassStatus(bypass:Boolean):void

Parameters

bypass:Boolean

updateProcessBlockSize()method 
public function updateProcessBlockSize(size:int):void

Parameters

size:int

updateSampleRate()method 
public function updateSampleRate(sampleRate:Number):void

Parameters

sampleRate:Number